package kioschool.view.controls
{
	import flash.display.DisplayObject;
	import flash.display.DisplayObjectContainer;
	

	/**
	 * Абстрактная фабрика визуальных элементов управления
	 * 
	 * @author  Akimushkin Vasiliy
	 */ 
	public interface IControlsFactory
	{
		/**
		 * Создает панель смены режимов <br/>
		 * Предполагается, что данный компонент позволяет переключать режимы платформы
		 * при помощи модификатора regime в PrimaryController
		 */
		function createRegimePanel():IRegimePanel;
		
		/**
		 * Создает панель навигации - переходов между шагами.
		 * 
		 */ 
		function createNavigationPanel():INavigationPanel;
		
		/**
		 * Создает панель комментариев к шагу
		 * 
		 */ 
		function createCommentPanel():ICommentPanel;
		
		/**
		 * Создает область визуализации алгоритма
		 * 
		 */ 
		function createWorkspace():DisplayObjectContainer;
		
	}
}